/**
 * Cloud Manager API
 * This API allows access to Cloud Manager programs, pipelines, and environments by an authorized technical account created through the Adobe I/O Console. The base url for this API is https://cloudmanager.adobe.io, e.g. to get the list of programs for an organization, you would make a GET request to https://cloudmanager.adobe.io/api/programs (with the correct set of headers as described below). This swagger file can be downloaded from https://raw.githubusercontent.com/AdobeDocs/cloudmanager-api-docs/master/swagger-specs/api.yaml.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: opensource@shinesolutions.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/*
 * OAIEnvironment__links.h
 *
 * 
 */

#ifndef OAIEnvironment__links_H
#define OAIEnvironment__links_H

#include <QJsonObject>

#include "OAIHalLink.h"

#include "OAIEnum.h"
#include "OAIObject.h"

namespace OpenAPI {

class OAIEnvironment__links : public OAIObject {
public:
    OAIEnvironment__links();
    OAIEnvironment__links(QString json);
    ~OAIEnvironment__links() override;

    QString asJson() const override;
    QJsonObject asJsonObject() const override;
    void fromJsonObject(QJsonObject json) override;
    void fromJson(QString jsonString) override;

    OAIHalLink getHttpNsAdobeComAdobecloudRelProgram() const;
    void setHttpNsAdobeComAdobecloudRelProgram(const OAIHalLink &http__ns_adobe_com_adobecloud_rel_program);

    OAIHalLink getHttpNsAdobeComAdobecloudRelPipeline() const;
    void setHttpNsAdobeComAdobecloudRelPipeline(const OAIHalLink &http__ns_adobe_com_adobecloud_rel_pipeline);

    OAIHalLink getHttpNsAdobeComAdobecloudRelAuthor() const;
    void setHttpNsAdobeComAdobecloudRelAuthor(const OAIHalLink &http__ns_adobe_com_adobecloud_rel_author);

    OAIHalLink getHttpNsAdobeComAdobecloudRelPublish() const;
    void setHttpNsAdobeComAdobecloudRelPublish(const OAIHalLink &http__ns_adobe_com_adobecloud_rel_publish);

    OAIHalLink getHttpNsAdobeComAdobecloudRelDeveloperConsole() const;
    void setHttpNsAdobeComAdobecloudRelDeveloperConsole(const OAIHalLink &http__ns_adobe_com_adobecloud_rel_developer_console);

    OAIHalLink getHttpNsAdobeComAdobecloudRelLogs() const;
    void setHttpNsAdobeComAdobecloudRelLogs(const OAIHalLink &http__ns_adobe_com_adobecloud_rel_logs);

    OAIHalLink getHttpNsAdobeComAdobecloudRelVariables() const;
    void setHttpNsAdobeComAdobecloudRelVariables(const OAIHalLink &http__ns_adobe_com_adobecloud_rel_variables);

    OAIHalLink getSelf() const;
    void setSelf(const OAIHalLink &self);

    virtual bool isSet() const override;
    virtual bool isValid() const override;

private:
    void initializeModel();

    OAIHalLink http__ns_adobe_com_adobecloud_rel_program;
    bool m_http__ns_adobe_com_adobecloud_rel_program_isSet;
    bool m_http__ns_adobe_com_adobecloud_rel_program_isValid;

    OAIHalLink http__ns_adobe_com_adobecloud_rel_pipeline;
    bool m_http__ns_adobe_com_adobecloud_rel_pipeline_isSet;
    bool m_http__ns_adobe_com_adobecloud_rel_pipeline_isValid;

    OAIHalLink http__ns_adobe_com_adobecloud_rel_author;
    bool m_http__ns_adobe_com_adobecloud_rel_author_isSet;
    bool m_http__ns_adobe_com_adobecloud_rel_author_isValid;

    OAIHalLink http__ns_adobe_com_adobecloud_rel_publish;
    bool m_http__ns_adobe_com_adobecloud_rel_publish_isSet;
    bool m_http__ns_adobe_com_adobecloud_rel_publish_isValid;

    OAIHalLink http__ns_adobe_com_adobecloud_rel_developer_console;
    bool m_http__ns_adobe_com_adobecloud_rel_developer_console_isSet;
    bool m_http__ns_adobe_com_adobecloud_rel_developer_console_isValid;

    OAIHalLink http__ns_adobe_com_adobecloud_rel_logs;
    bool m_http__ns_adobe_com_adobecloud_rel_logs_isSet;
    bool m_http__ns_adobe_com_adobecloud_rel_logs_isValid;

    OAIHalLink http__ns_adobe_com_adobecloud_rel_variables;
    bool m_http__ns_adobe_com_adobecloud_rel_variables_isSet;
    bool m_http__ns_adobe_com_adobecloud_rel_variables_isValid;

    OAIHalLink self;
    bool m_self_isSet;
    bool m_self_isValid;
};

} // namespace OpenAPI

Q_DECLARE_METATYPE(OpenAPI::OAIEnvironment__links)

#endif // OAIEnvironment__links_H
