/// <summary> /// Initializes a new instance of the <see cref="CreateAppRequest" /> class. /// </summary> /// <param name="appName">A globally unique, developer-defined identifier for an app. It is alpha-numeric, may contain dashes, underscores, periods, and must be less then 250 characters long. (required).</param> /// <param name="displayName">A default display name for an app. (required).</param> /// <param name="description">A default description for an app. (required).</param> /// <param name="singleInstance">Inform the installation systems that a particular app can only be installed once within a user's account. (default to false).</param> /// <param name="iconImage">iconImage.</param> /// <param name="appType">appType (required).</param> /// <param name="principalType">principalType.</param> /// <param name="classifications">An App maybe associated to many classifications. A classification drives how the integration is presented to the user in the SmartThings mobile clients. These classifications include: * AUTOMATION - Denotes an integration that should display under the \"Automation\" tab in mobile clients. * SERVICE - Denotes an integration that is classified as a \"Service\". * DEVICE - Denotes an integration that should display under the \"Device\" tab in mobile clients. * CONNECTED_SERVICE - Denotes an integration that should display under the \"Connected Services\" menu in mobile clients. * HIDDEN - Denotes an integration that should not display in mobile clients (required).</param> /// <param name="lambdaSmartApp">lambdaSmartApp.</param> /// <param name="webhookSmartApp">webhookSmartApp.</param> /// <param name="oauth">oauth.</param> /// <param name="ui">ui.</param> public CreateAppRequest(string appName = default(string), string displayName = default(string), string description = default(string), bool singleInstance = false, IconImage iconImage = default(IconImage), AppType appType = default(AppType), PrincipalType?principalType = default(PrincipalType?), List <AppClassification> classifications = default(List <AppClassification>), CreateOrUpdateLambdaSmartAppRequest lambdaSmartApp = default(CreateOrUpdateLambdaSmartAppRequest), CreateOrUpdateWebhookSmartAppRequest webhookSmartApp = default(CreateOrUpdateWebhookSmartAppRequest), AppOAuth oauth = default(AppOAuth), AppUISettings ui = default(AppUISettings)) { // to ensure "appName" is required (not null) this.AppName = appName ?? throw new ArgumentNullException("appName is a required property for CreateAppRequest and cannot be null"); // to ensure "displayName" is required (not null) this.DisplayName = displayName ?? throw new ArgumentNullException("displayName is a required property for CreateAppRequest and cannot be null"); // to ensure "description" is required (not null) this.Description = description ?? throw new ArgumentNullException("description is a required property for CreateAppRequest and cannot be null"); this.AppType = appType; // to ensure "classifications" is required (not null) this.Classifications = classifications ?? throw new ArgumentNullException("classifications is a required property for CreateAppRequest and cannot be null"); this.SingleInstance = singleInstance; this.IconImage = iconImage; this.PrincipalType = principalType; this.LambdaSmartApp = lambdaSmartApp; this.WebhookSmartApp = webhookSmartApp; this.Oauth = oauth; this.Ui = ui; }
/// <summary> /// Initializes a new instance of the <see cref="UpdateAppRequest" /> class. /// </summary> /// <param name="displayName">A default display name for an app. (required).</param> /// <param name="description">A default description for an app. (required).</param> /// <param name="singleInstance">Inform the installation systems that a particular app can only be installed once within a user's account. (default to false).</param> /// <param name="iconImage">iconImage.</param> /// <param name="appType">appType (required).</param> /// <param name="classifications">An App maybe associated to many classifications. A classification drives how the integration is presented to the user in the SmartThings mobile clients. These classifications include: * AUTOMATION - Denotes an integration that should display under the \"Automation\" tab in mobile clients. * SERVICE - Denotes an integration that is classified as a \"Service\". * DEVICE - Denotes an integration that should display under the \"Device\" tab in mobile clients. * CONNECTED_SERVICE - Denotes an integration that should display under the \"Connected Services\" menu in mobile clients. * HIDDEN - Denotes an integration that should not display in mobile clients (required).</param> /// <param name="lambdaSmartApp">lambdaSmartApp.</param> /// <param name="webhookSmartApp">webhookSmartApp.</param> /// <param name="ui">ui.</param> public UpdateAppRequest(string displayName = default(string), string description = default(string), bool singleInstance = false, IconImage iconImage = default(IconImage), AppType appType = default(AppType), List <AppClassification> classifications = default(List <AppClassification>), CreateOrUpdateLambdaSmartAppRequest lambdaSmartApp = default(CreateOrUpdateLambdaSmartAppRequest), CreateOrUpdateWebhookSmartAppRequest webhookSmartApp = default(CreateOrUpdateWebhookSmartAppRequest), AppUISettings ui = default(AppUISettings)) { // to ensure "displayName" is required (not null) if (displayName == null) { throw new ArgumentNullException("displayName is a required property for UpdateAppRequest and cannot be null"); } this.DisplayName = displayName; // to ensure "description" is required (not null) if (description == null) { throw new ArgumentNullException("description is a required property for UpdateAppRequest and cannot be null"); } this.Description = description; this.AppType = appType; // to ensure "classifications" is required (not null) if (classifications == null) { throw new ArgumentNullException("classifications is a required property for UpdateAppRequest and cannot be null"); } this.Classifications = classifications; this.SingleInstance = singleInstance; this.IconImage = iconImage; this.LambdaSmartApp = lambdaSmartApp; this.WebhookSmartApp = webhookSmartApp; this.Ui = ui; }